In conventional systems, contrast enhancement for still pictures and video sequences is generally broken into two categories: global based enhancement and local based enhancement. An image histogram (showing distribution of pixel intensity values) is the primary tool to determine how input pixels are mapped to output pixels when performing contrast enhancement.
In some global based systems, a processor computes a histogram of the entire image utilizing the entire data set (all of the pixels in the image). Based on this cumulative histogram of the image, the system determines gain and offset of each pixel in order to perform dynamic range adjustment.
In some local based systems, the image is segmented into smaller blocks within the image where each block includes a computed local histogram. The adjusted value of each pixel in each block is then determined based on the histogram of the respective block.
In general, global systems compute histograms of an entire image data set which may be negatively influenced by dominant objects such as sky, water, foreground grass, etc. This often results in a less than desirable appearance which lacks noticeable distinction between grey levels. In contrast, local systems tend to produce better results than the global systems. However, computing and manipulating multiple histograms (for many blocks within an image) may pose problems to systems having limited processing and/or storage capabilities.